Skip to content

Minimal STL parser #4657

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 31, 2019
Merged

Conversation

MatWise
Copy link
Contributor

@MatWise MatWise commented May 15, 2019

Create a basic Siemens STL parser and integrate it into CBMC.

  • Each commit message has a non-empty body, explaining why the change was made.
  • Methods or procedures I have added are documented, following the guidelines provided in CODING_STANDARD.md.
  • The feature or user visible behaviour I have added or modified has been documented in the User Guide in doc/cprover-manual/
  • Regression or unit tests are included, or existing tests cover the modified code (in this case I have detailed which ones those are in the commit message).
  • My commit message includes data points confirming performance improvements (if claimed).
  • My PR is restricted to a single feature or bugfix.
  • White-space or formatting changes outside the feature-related changed lines are in commits of their own.

@tautschnig
Copy link
Collaborator

This looks really nice and clean overall - my only concern is the ambiguity of the acronym "STL." It just seems too easy to confuse with "Standard Template Library," especially when the framework also (partly) supports analysis of C++ code. Is there any chance to choose a different name?

@MatWise MatWise force-pushed the feature/minimal-stl-parser branch 5 times, most recently from f76926a to 96157f2 Compare May 20, 2019 17:05
@MatWise MatWise force-pushed the feature/minimal-stl-parser branch from 96157f2 to 58c2a56 Compare May 21, 2019 20:26
@MatWise MatWise force-pushed the feature/minimal-stl-parser branch 5 times, most recently from 7c3ae4d to 138102e Compare May 24, 2019 11:53
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 138102e).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113086645
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@allredj
Copy link
Contributor

allredj commented May 24, 2019

This compiles with TG fine. You can disregard the bot message (@MatWise is a "first time contributor" and TG CI does not fetch his fork). ✔️

@MatWise MatWise force-pushed the feature/minimal-stl-parser branch from 138102e to f4cf421 Compare May 24, 2019 14:35
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: f4cf421).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113109006
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Collaborator

@tautschnig tautschnig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is overall very nicely done!!! Just one request in addition to all the nit-picks below: could you please make sure that all "TODO" comments include sufficient information for someone else to pick this up and work on it?

@MatWise MatWise force-pushed the feature/minimal-stl-parser branch 2 times, most recently from 41c2762 to f3b4b65 Compare May 30, 2019 09:48
@MatWise MatWise force-pushed the feature/minimal-stl-parser branch from f3b4b65 to eb31831 Compare May 30, 2019 14:46
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: f3b4b65).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113740279
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: eb31831).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113772968
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@MatWise MatWise force-pushed the feature/minimal-stl-parser branch 2 times, most recently from d484911 to d666742 Compare May 31, 2019 13:53
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: d484911).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113899257
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: d666742).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113901720
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

MatWise added 3 commits May 31, 2019 16:40
Includes support for simple arithmetic and boolean expressions as well as other
Statement List language features, such as networks, functions and function
blocks.
Includes a basic Statement List language interface (although without any
typechecking yet) as well as modifications to some Makefiles and
cbmc_languages.cpp. Use the --show-parse-tree option when parsing a .awl file
to see the project's output.
Includes tests for simple integer additions/multiplications, multiple
functions/function blocks and for dividing two floats.
@MatWise MatWise force-pushed the feature/minimal-stl-parser branch from d666742 to 2ba1361 Compare May 31, 2019 15:40
Copy link
Contributor

@allredj allredj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️
This PR failed Diffblue compatibility checks (cbmc commit: 2ba1361).
Build URL: https://travis-ci.com/diffblue/test-gen/builds/113911945
Status will be re-evaluated on next push.
Common spurious failures include: the cbmc commit has disappeared in the mean time (e.g. in a force-push); the author is not in the list of contributors (e.g. first-time contributors); compatibility was already broken by an earlier merge.

@codecov-io
Copy link

Codecov Report

❗ No coverage uploaded for pull request base (develop@3f9e1b0). Click here to learn what that means.
The diff coverage is 61.66%.

Impacted file tree graph

@@            Coverage Diff             @@
##             develop    #4657   +/-   ##
==========================================
  Coverage           ?   68.42%           
==========================================
  Files              ?     1269           
  Lines              ?   104649           
  Branches           ?        0           
==========================================
  Hits               ?    71606           
  Misses             ?    33043           
  Partials           ?        0
Impacted Files Coverage Δ
.../statement-list/converters/expr2statement_list.cpp 0% <0%> (ø)
src/statement-list/statement_list_typecheck.cpp 0% <0%> (ø)
src/statement-list/statement_list_typecheck.h 0% <0%> (ø)
...statement-list/converters/convert_bool_literal.cpp 0% <0%> (ø)
src/cbmc/cbmc_languages.cpp 100% <100%> (ø)
...statement-list/converters/convert_real_literal.cpp 100% <100%> (ø)
.../statement-list/converters/convert_int_literal.cpp 33.33% <33.33%> (ø)
src/statement-list/statement_list_language.cpp 42.85% <42.85%> (ø)
src/statement-list/scanner.l 57.69% <56.86%> (ø)
src/statement-list/parser.y 58.78% <58.78%> (ø)
... and 5 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3f9e1b0...2ba1361. Read the comment docs.

@pkesseli pkesseli merged commit 6c39035 into diffblue:develop May 31, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants